﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Datos.Espectaculos;
using Entidades.Espectaculos;

namespace Negocio.Espectaculos
{
    public class EspTipoEspectaculoBLL
    {
        public static List<EspTipoEspectaculo> ListarTipoEspectaculo(int estado)
        {
            try
            {
                return  EspTipoEspectaculoDAL.Instance().ListarTipoEspectaculo(estado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static List<EspTipoEspectaculo> ListarTipoEspectaculo(string nombre, int estado)
        {
            try
            {
                return EspTipoEspectaculoDAL.Instance().ListarTipoEspectaculo(nombre,estado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static EspTipoEspectaculo ObtenerTipoEspectaculo(int idTipo)
        {
            try
            {
                return EspTipoEspectaculoDAL.Instance().ObtenerTipoEspectaculo(idTipo);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static int AgregarTipoEspectaculo(EspTipoEspectaculo obj, List<EspSubTipoEspectaculo> subs)
        {
            try
            {
                int result = 0;

                result = EspTipoEspectaculoDAL.Instance().AgregarTipoEspectaculo(obj);

                if (result > 0)
                {
                    int resultSub = EspSubTipoEspectaculoDAL.Instance().AgregarSubTipoEspectaculoLista(subs, result);
                }

                return result;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static int ModificarTipoEspectaculo(EspTipoEspectaculo obj)
        {
            try
            {
                int result = 0;
                result = EspTipoEspectaculoDAL.Instance().ModificarTipoEspectaculo(obj);
                return result;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }


        /********************************/
        /*subtipo*/
        public static List<EspSubTipoEspectaculo> ListarSubTipoEspectaculo(int idTipo, int estado)
        {
            try
            {
                return EspSubTipoEspectaculoDAL.Instance().ListarSubTipoEspectaculo(idTipo, estado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static int ModificarSubTipoEspectaculo(EspSubTipoEspectaculo obj)
        {
            try
            {
                int result = 0;
                result = EspSubTipoEspectaculoDAL.Instance().ModificarSubTipoEspectaculo(obj);
                return result;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static int AgregarSubTipoEspectaculo(EspSubTipoEspectaculo obj)
        {
            try
            {
                int result = 0;
                result = EspSubTipoEspectaculoDAL.Instance().AgregarSubTipoEspectaculo(obj);
                return result;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }


    }
}
